Skip to content

dolt 1.81.2#264111

Merged
BrewTestBot merged 2 commits intomainfrom
bump-dolt-1.81.2
Jan 23, 2026
Merged

dolt 1.81.2#264111
BrewTestBot merged 2 commits intomainfrom
bump-dolt-1.81.2

Conversation

@BrewTestBot
Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
# Merged PRs

dolt

  • 10357: Prevent temporary table name collisions
    fixes #10353
    MySQL allows creating temporary tables with the same names as existing non-temporary tables and creating non-temporary tables with the same names as existing temporary tables. However, temporary tables cannot have the same name as other temporary tables.
    Our previous implementation seemed to have assumed temporary tables with the same names were allowed. Each session had a map of db names to an array of tables, and new temporary tables were added to the end of the array, without checking if there was a table with an existing name. When fetching or dropping a temporary table, we iterated through the array and returned/dropped the first table with a matching name; this meant even though we allowed temporary tables with the same name, we only ever operated on whichever one was created first.
    Since temporary tables with the same names are actually not allowed, the array of temporary tables was replaced with a name-to-table map to make fetching a temporary table with GetTemporaryTable faster. This also makes DropTemporaryTable faster. This does make GetAllTemporaryTables slower since we now have to iterate over the mappings to create an array for temporary tables, but GetAllTemporaryTables doesn't seem to be called as frequently as GetTemporaryTable.
  • 10349: Remove requirement for -i in dolt_rebase
    Hold over from the original impl of rebase now addressed!
  • 10274: dolt stash apply
    Adds #10131
    Adds dolt stash apply. Functions similar to drop and pop in usage: accepts no argument for most recent stash, or int or stash@{int} for non-top stashes. i.e. dolt stash apply 2 or dolt stash apply stash@{2}.
  • 10227: dolthub/dolt#5862: Add ignore system table

    Summary

    Adds a new dolt_status_ignored system table that extends dolt_status functionality by including an ignored column to identify which unstaged tables match patterns defined in dolt_ignore. This provides a SQL interface equivalent to dolt status --ignored.

    Changes

    New System Table

    dolt_status_ignored - Same schema as dolt_status plus an ignored column:
    • table_name (text): Name of the table
    • staged (boolean): Whether the table is staged
    • status (text): Status of the table (e.g., "new table", "modified", "conflict")
    • ignored (boolean): Whether the table matches a dolt_ignore pattern

    Implementation Details

    The implementation started with logic similar to status_table.go and was then refactored to share common code between both tables while adding the ignore-checking functionality.
    go/libraries/doltcore/doltdb/system_table.go
    • Added StatusIgnoredTableName constant
    • Registered table in GeneratedSystemTableNames() and DoltGeneratedTableNames
      go/libraries/doltcore/sqle/database.go
    • Added switch case for StatusIgnoredTableName in getTableInsensitiveWithRoot()
    • Extracted getStatusTableRootsProvider() helper to eliminate duplicate logic between dolt_status and dolt_status_ignored switch cases
      go/libraries/doltcore/sqle/dtables/status_table.go
    • Added getStatusRowsData() function using existing statusTableRow struct to share status collection logic between both tables
    • Refactored newStatusItr() to use shared function
      go/libraries/doltcore/sqle/dtables/status_ignored_table.go (new file)
    • Implements StatusIgnoredTable and StatusIgnoredItr
    • Uses shared getStatusRowsData() from status_table.go
    • Uses adapter pattern via DoltTableAdapterRegistry similar to StatusTable
    • Adds ignore-checking logic via helper functions:
    • getIgnorePatterns(): Fetches patterns from dolt_ignore
    • buildUnstagedTableNameSet(): Creates set for quick lookup
    • checkIfIgnored(): Checks if table matches ignore pattern (returns error on failure)

    Behavior

    • Unstaged tables: ignored=1 if table name matches a pattern in dolt_ignore, ignored=0 otherwise
    • Staged tables: Always ignored=0 (staging overrides ignore patterns, matching git behavior)
    • Constraint violations, merge conflicts, schema conflicts: Always ignored=0

    Tests

    BATS integration tests

    integration-tests/bats/system-tables.bats:
    • Basic functionality: Verifies ignored column correctly identifies ignored tables while non-ignored tables have ignored=0
    • Staged tables: Confirms staged tables always have ignored=0 regardless of ignore patterns
    • System table visibility: Ensures table appears in dolt ls --system
      integration-tests/bats/ls.bats:
    • Updated "ls: --system shows system tables" to include dolt_status_ignored (27 tables instead of 26)

    Go enginetests

    go/libraries/doltcore/sqle/enginetest/dolt_queries.go:
    Closes #5862

go-mysql-server

  • 3395: fewer strings.ToLower calls in gatherTableAlias
    benchmarks: tolower bump dolthub/dolt#10355 (comment)
  • 3393: add transform.InspectWithOpaque function
    This changes transform.Inspect to not apply the helper function on children of sql.OpaqueNodes.
    Additionally, it adds a transform.InspectWithOpaque that does.
    This is to match transform.Node and transform.NodeWithOpaque.
    There are still some inconsistencies between the different transform helper functions:
    • transform.Node:
    • post order (applies to node.Children then node)
    • no way to break out early
    • transform.Inspect:
    • pre order (applies to node then node.Children)
    • can break out early (only on all or none of children)
    • return true to continue
    • transform.InspectExpr:
    • post order (applies to expr.Children then expr)
    • can break out early, including stopping during children
    • return false to continue
  • 3389: remove convertLeftAndRight
    This PR removes c.convertLeftAndRight, which avoids calls to c.Left().Type() and c.Right().Type().
    Not entirely sure why receiver methods would impact performance this much, but benchmarks say so.
    Benchmarks: test revert compare dolthub/dolt#10342 (comment)

Closed Issues

  • 10353: Dolt needs to error out when creating duplicate temporary table.
  • 5862: Add alternative to dolt_status system table that includes tables ignored by system_ignore
  • 10345: SERIAL type alias creates signed BIGINT instead of unsigned

View the full release notes at https://github.com/dolthub/dolt/releases/tag/v1.81.2.


@github-actions github-actions bot added go Go use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` icu4c ICU use is a significant feature of the PR or issue labels Jan 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Jan 23, 2026
@BrewTestBot BrewTestBot enabled auto-merge January 23, 2026 03:47
@BrewTestBot BrewTestBot added this pull request to the merge queue Jan 23, 2026
Merged via the queue into main with commit c6a791b Jan 23, 2026
22 checks passed
@BrewTestBot BrewTestBot deleted the bump-dolt-1.81.2 branch January 23, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. go Go use is a significant feature of the PR or issue icu4c ICU use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants